![]() computer implemented method, computer readable non-transient storage medium and system
专利摘要:
METHOD IMPLEMENTED BY COMPUTER,NON TRANSITIONAL STORAGE MEDIA-READIBLE BY COMPUTER AND SYSTEM. THEpresent invention refers to implementations of this specification thatinclude identifying a plurality of transactions to beexecuted on the blockchain, where transactions are ordered in aorder of execution, where transactions include one or more calls ofsmart contract for smart contracts, each has a whitelist that identifies one or more accounts that areauthorized to execute the smart contract, and in which the order ofexecution includes a smart contract call for a contractsmart that it doesn't have an ordered whitelist after theplurality of transactions; the identification of transaction groupswithin the plurality of transactions; the instruction of the network nodesblockchain to execute each of the transaction groups in parallel; The determination that the blockchain network nodes have completed executing all transaction groups; and in response, the instruction of the nodulesfrom the blockchain network to run the smart contract call thatdoes not include a whitelist. 公开号:BR112019016290A2 申请号:R112019016290-9 申请日:2018-12-28 公开日:2021-07-20 发明作者:Ning Xia;Guilu Xie;Fuxi Deng 申请人:Advanced New Technologies Co., Ltd.; IPC主号:
专利说明:
[001] [001] Distributed accounting systems (DLSs), which can also be called consensus networks and/or blockchain networks, allow participating entities to store data securely and immutably. DLSs are often referred to as blockchain networks without referencing any specific user case. Examples of blockchain network types can include public blockchain networks, private blockchain networks, and consortium blockchain networks. A consortium blockchain network is provided for a select group of entities, which control the consensus process and include an access control layer. [002] [002] An intelligent contract is a set of executable software instructions stored and executed by a blockchain network. Smart contracts are generally stored unencrypted and therefore visible to all blockchain network participants. Blockchain network participants can write and publish their own smart contracts and, in general, can also call smart contracts that were previously deployed in the blockchain network. [003] [003] A problem found in blockchain networks is the speed at which transactions (including so-called smart contract) are processed. In general, nodes in the blockchain network process serial transactions in the order they are sent. This can lead to low transaction throughput and delays between when a transaction is submitted and when it is released. [004] [004] Techniques to solve these transaction performance problems in a blockchain network would be advantageous. BRIEF DESCRIPTION OF THE INVENTION [005] [005] Implementations of this specification include computer-implemented methods for parallel execution of transactions on a blockchain network based on smart contract whitelists. More specifically, implementations of this specification are aimed at techniques for executing groups of transactions and smart contract calls that have a shared dependency in parallel with other groups. [006] [006] In some implementations, actions include identifying a plurality of transactions to be executed on the blockchain, where transactions are ordered in an execution order, where transactions include one or more smart contract calls for the contracts smart contract, each has a whitelist identifying one or more accounts that are authorized to execute the smart contract, and where the order of execution includes a smart contract call for a smart contract that does not have a whitelist ordered after the plurality of transactions; the identification of transaction groups within the plurality of transactions, where the transactions in each group are associated with a special set of accounts on the blockchain network and where the special set of accounts associated with each one or more smart contract calls is determined based on the whitelist associated with the smart contract ticket; instructing blockchain network nodes to execute each of the transaction groups in parallel, wherein the execution of each transaction group includes executing the transactions within the group serially and according to the order of execution; determining that the blockchain network nodes have completed executing all transaction groups; and in response, determining that the blockchain network nodes have completed executing all transaction groups, instructing the blockchain network nodes to execute the smart contract call that does not include a whitelist. Other implementations include corresponding computer systems, apparatus and programs configured to perform the method actions encoded in computer storage devices. [007] [007] These and other implementations may optionally include one or more of the following features. [008] [008] In some cases, the instruction of blockchain network nodes to execute each of the transaction groups in parallel includes the instruction of a first set of nodes to execute a first group of transactions and the instruction of a first set of nodes to execute a second group of transactions. [009] [009] In some implementations, determining that blockchain network nodes have completed executing all transaction groups includes determining that all transactions in the plurality of transactions are included in one or more blocks stored in a blockchain held by the blockchain network . [010] [010] In some cases, the instruction of the blockchain network nodes to execute each of the transaction groups in parallel includes sending a message to the nodes through a network. [011] [011] In some cases, identifying the plurality of transactions to be executed on the blockchain includes receiving transactions transmitted to the blockchain network. [012] [012] In some implementations, the whitelist is included in a set of executable instructions associated with each smart contract. [013] [013] In some cases, the whitelist is separate from a set of executable instructions associated with each smart contract. [014] [014] In some implementations, the whitelist includes an identification of one or more accounts that are authorized to access each smart contract. [015] [015] In some cases, the whitelist includes a reference to a location external to each smart contract that stores one or more accounts that are authorized to access each smart contract. [016] [016] This specification also provides one or more computer-readable, non-transient storage media coupled to one or more processors and having instructions stored on them that, when executed by one or more processors, cause one or more processors to perform the operations according to the implementations of the methods provided herein. [017] [017] This specification further provides a system for implementing the methods provided herein. The system includes one or more processors, and a computer-readable storage medium coupled to one or more processors that have instructions stored on it that, when executed by one or more processors, cause one or more processors to perform operations in accordance with the implementations of the methods provided herein. [018] [018] It is considered that the methods, according to this specification, may include any combination of the aspects and characteristics described herein. That is, the methods in accordance with this specification are not limited to combinations of features and features specifically described herein, but also include any combination of the features and features provided. [019] [019] Details of one or more implementations of this specification are presented in the attached drawings and in the description below. Other features and advantages of this specification will be apparent from the description and drawings, and from the claims. BRIEF DESCRIPTION OF THE FIGURES [020] [020] Figure 1 illustrates an example of an environment that can be used to execute the implementations of this specification. [021] [021] Figure 2 illustrates an example of a conceptual architecture, according to the implementations of this specification. [022] [022] Figure 3 illustrates an example of an environment to enable smart contract whitelists, according to implementations of this specification. [023] [023] Figure 4A illustrates an example of an execution order for transactions in a blockchain network, according to the implementations of this specification. [024] [024] Figure 4B illustrates an example of a parallel execution order for transactions in a blockchain network, according to the implementations of this specification. [025] [025] Figure 5 illustrates an example of a process that can be executed, according to the implementations of this specification. [026] [026] Figure 6 illustrates the examples of modules of a device, according to the implementations of this specification. [027] [027] Similar reference symbols in the various drawings indicate similar elements. DETAILED DESCRIPTION OF THE INVENTION [028] [028] Implementations of this specification include computer-implemented methods to enforce account whitelists for smart contracts. More specifically, implementations of this specification are directed towards techniques to enable the creator of a smart contract to define a whitelist specifying which accounts can call the smart contract. [029] [029] To provide additional context for implementations of this specification and, as introduced above, distributed accounting systems (DLSs), which may also be referred to as consensus networks (eg, composed of peer-to-peer nodes ), and blockchain networks, enable participating entities to execute transactions securely and immutably and store data. The term “blockchain” is used herein in general to refer to a DLS without referring to any special use case. [030] [030] A blockchain is a data structure that stores transactions in such a way that transactions are immutable and can be verified later. A blockchain includes one or more blocks. Each block in the chain is linked to a previous block immediately before it in the chain, including a cryptographic hash of the previous block. Each block also includes a timestamp (timestamp), its own cryptographic hash, and one or more transactions. Transactions, which were previously verified by blockchain network nodes, are hashed and encoded in a Merkle tree. A Merkle tree is a data structure where the data in the leaf nodes of the tree is hashed and all hashes in each branch of the tree are concatenated at the root of the branch. This process continues up the tree to the root of the entire tree, which stores a hash that is representative of all the data in the tree. A hash of a supposed transaction stored in the tree can be quickly verified by determining whether it is consistent with the tree structure. [031] [031] Whereas a blockchain is a data structure for storing transactions, a blockchain network is a network of computing nodes that manages, updates and maintains one or more blockchains. As introduced above, a blockchain network can be provided as a public blockchain network, a private blockchain network, or a consortium blockchain network. [032] [032] In a public blockchain network, the consensus process is controlled by the nodes of the consensus network. For example, hundreds, thousands and even millions of entities can cooperate with a public blockchain network, each operating at least one node in the public blockchain network. Therefore, the public blockchain network can be considered a public network in relation to the participating entities. In some examples, most entities (nodes) must sign each block for the block to be valid and added to the blockchain (distributed accounting) of the blockchain network. Examples of public blockchain networks include specific peer-to-peer payment networks that leverage distributed accounting, known as a blockchain. As noted above, the term “blockchain”, however, is used to generally refer to distributed accounting without special reference to the blockchain network. [033] [033] In general, a consortium blockchain network is private among participating entities. In a consortium blockchain network, the consensus process is controlled by an authorized set of nodes, one or more nodes being operated by a respective entity (eg, a financial institution, insurance company). For example, a syndicate of ten (10) entities (eg, financial institutions, insurance companies) can operate a syndicate blockchain network, each operating at least one node in the syndicate blockchain network. Consequently, the consortium blockchain network can be considered a private network in relation to the participating entities. In some examples, each entity (node) must sign all blocks for the block to be valid and added to the blockchain. [034] [034] It is contemplated that implementations of this specification can run on any suitable type of blockchain network. [035] [035] The implementations of this specification are described in greater detail in the present in view of the above context. More especially, and as introduced above, implementations of this specification are directed at techniques to enable the creator of a smart contract to define a whitelist specifying which accounts can call the smart contract. [036] [036] In general, an intelligent contract is a set of one or more computer instructions that are stored in a blockchain and executed by nodes of a blockchain network. The code for a smart contract is typically transformed into a form that is executable by the blockchain network nodes (for example, the bytecode) and the bytecode or bytecode configured to retrieve the smart contract bytecode is itself stored in the blockchain. Functions defined in the smart contract code can then be called by blockchain network participants, causing the nodes to execute the instructions in the called function. [037] [037] This specification describes techniques that enable the creator of a smart contract to specify a list of accounts (a whitelist) in the blockchain network that are allowed to call the smart contract. When a blockchain network participant calls an intelligent contract deployed on the blockchain managed by the blockchain network, the participant provides an account as part of the ticket. The blockchain network checks the whitelist associated with the smart contract for the participant account. If the participant's account is on the whitelist, the blockchain network performs the smart contract call. If the participant's account is not in the whitelist, the blockchain network will not perform the smart contract call. The blockchain network can also store a record of the participant's failed attempt to access the smart contract. [038] [038] The implementations of this specification are aimed at executing groups of transactions (including so-called smart contact) that have a shared dependency (that is, affecting the same accounts) in parallel with other groups. The accounts affected by a smart contract ticket can be determined based on the whitelist associated with the smart contract. Since transactions in different groups do not depend on each other (for example, they do not affect the same accounts on the blockchain network), the order in which transactions in different groups are executed against one another does not affect the overall status of the network. blockchain. Therefore, these transactions can run in parallel, which can lead to increased transaction throughput on a blockchain network. [039] [039] Figure 1 illustrates an example of an environment (100) that can be used to execute the implementations of this specification. In some examples, the environment (100) allows entities to participate in a blockchain network (102). The environment (100) includes computing devices (106), (108) and a network (110). In some examples, the network (110) includes a local area network (LAN), wide area network (WAN), Internet, or one of their combinations, and connects websites, user devices (for example, computer devices). computing) and back-end systems. In some examples, the network (110) can be accessed through a wired and/or wireless communication link. In some examples, the network (110) enables communication with and within the blockchain network (102). In general, the network (110) represents one or more communication networks. In some cases, the computing devices (106), (108) may be the nodes of a cloud computing system (not shown) or each computing device. [040] [040] In the example described, each computing system (106), (108) can include any suitable computing system that enables participation as a node in the blockchain network (102). Examples of computing devices include, without limitation, a server, a desktop computer, a portable computer, a tablet computing device, and a smartphone. In some examples, computing systems (106), (108) host one or more computer-implemented services to interact with the blockchain network (102). For example, the computing system (106) may host the computer-implemented services of a first entity (e.g., Participant A), such as the transaction management system that the first entity uses to manage its transactions with an or more entities (eg other participants). The computing system (108) may host the computer-implemented services of a second entity (eg, Participant B), such as the transaction management system that the second entity uses to manage its transactions with one or more entities ( for example, other participants). In the example of Figure 1, the blockchain network (102) is represented as a network of peer-to-peer nodes, and the computing systems (106), (108) provide the nodes of the first entity and second entity, respectively, participating in the consortium blockchain network (102). [041] [041] Figure 2 illustrates an example of a conceptual architecture (200) according to implementations of this specification. The example of a conceptual architecture (200) includes participating systems (202), (204), (206) that correspond to Participant A, Participant B, and Participant C, respectively. Each participant (eg user, company) participates in a blockchain network (212) provided as a peer-to-peer network including a plurality of nodes (214), at least some of which record immutable information in a blockchain (216). Although a single blockchain (216) is schematically represented within the blockchain network (212), multiple copies of the blockchain (216) are provided and maintained across the blockchain network (212), as described in greater detail herein. [042] [042] In the example described, each participating system (202), (204), (206) is provided by, or on behalf of, Participant A, Participant B, and Participant C, respectively, and functions as a respective node (214) within from the blockchain network. As used herein, a node, in general, refers to an individual system (eg, computer, server) that is connected to the blockchain network (212) and enables a respective participant to participate in the blockchain network. In the example in Figure 2, one participant corresponds to each node (214). It is contemplated, however, that one participant may operate multiple nodes (214) within the blockchain network (212), and/or multiple participants may share a node (214). In some examples, participating systems (202), (204), (206) communicate with or over the blockchain network (212) using a protocol (eg, secure hypertext transfer protocol (HTTPS)) and/ or using remote procedure calls (RPCs). [043] [043] Nodes (214) can have varying degrees of participation within the blockchain network (212). For example, some nodes (214) may participate in the consensus process (for example, as mining nodes that add blocks to the blockchain (216)), while other nodes (214) do not participate in the consensus process. As another example, some nodes (214) store a complete copy of the blockchain (216), while other nodes (214) only store copies of parts of the blockchain (216). For example, data access privileges can limit the blockchain data that a respective participant stores within their respective system. In the example of Figure 2, the participating systems (202), (204), (206) store their full copies (216'), (216'), (216') of the blockchain (216). [044] [044] A blockchain (for example, the blockchain (216) in Figure 2) is composed of a chain of blocks, each block storing the data. Examples of data include transaction data representative of a transaction between two or more participants. Although transactions are used herein by way of non-limiting examples, it is contemplated that any suitable data may be stored in a blockchain (eg documents, images, videos, audio). Examples of transactions may include, without limitation, exchanges of something of value (eg, assets, products, services). Transaction data is immutably stored within the blockchain. That is, transaction data cannot be changed. [045] [045] Before storing to a block, transaction data is encrypted. Hashing is a process of transforming transaction data (provided as string data) into a fixed-length hash value (also provided as string data). It is not possible to un-hash the hash value to get the transaction data. Hashing ensures that even a small change to transaction data results in a completely different hash value. Also, as noted above, the hash value is of fixed length. That is, no matter the size of the transaction data, the size of the hash value is fixed. Hashing includes processing the transaction data through a hash function to generate the hash value. An example hash function includes, without limitation, the Secure Hash Algorithm (SHA)-256, which generates 256-bit hash values. [046] [046] Transaction data from multiple transactions is hashed and stored in a block. For example, the hash values of two transactions are provided and are themselves hashed to provide another hash. This process is repeated until, for all transactions to be stored in a block, a single hash value is provided. This hash value is referred to as a Merkle root hash and is stored in a block header. A change to any of the transactions will result in changes to the hash amount and ultimately a change to the hash of the Merkle root. [047] [047] Blocks are added to the blockchain via a consensus protocol. Multiple nodes within the blockchain network participate in the consensus protocol and compete to have a block added to the blockchain. These nodes are referred to as miners (or decision nodes). [048] [048] Mining nodes perform the consensus process to add transactions to the blockchain. Although multiple mining nodes participate in the consensus process, only one mining node can write the block to the blockchain. That is, mining nodes compete in the consensus process to have their block added to the blockchain. In more detail, a mining node periodically collects outstanding transactions from a transaction pool (for example, up to a predefined limit on the number of transactions that can be included in a block, if any). The transaction pool includes transaction messages from blockchain network participants. The mining node builds a block and adds transactions to the block. Before adding transactions to the block, the mining node checks if any of the transactions are already included in a block of the blockchain. If a transaction is already included in another block, the transaction will be discarded. [049] [049] The mining node generates a block header, hashes all transactions in the block, and combines the hash value in pairs to generate more hash values until a single hash value is provided for all transactions in the block. Merkle root hash). This hash is added to the block header. The miner also determines the hash value of the most recent block in the blockchain (that is, the last block added to the blockchain). The mining node also includes an arbitrary value (nonce) and timestamp (time stamp) for the block header. In a mining process, the mining node tries to find a hash value that meets the required parameters. The mining node continues to change the arbitrary value (nonce) until it finds a hash value that meets the required parameters. [050] [050] Each miner in the blockchain network tries to find a hash value that meets the necessary parameters and, in this way, compete with each other. Optionally, one of the mining nodes finds a hash value that meets the required parameters and advertises this to all other mining nodes in the blockchain network. The other mining nodes check the hash value and, if determined to be correct, check each transaction in the block, accept the block and append the block to its copy of the blockchain. In this way, a global blockchain state is consistent across all mining nodes within the blockchain network. The process described above is the POW consensus protocol. [051] [051] A non-limiting example is provided with reference to Figure [052] [052] In some blockchain networks, encryption is implemented to maintain transaction privacy. For example, if two nodes want to keep a transaction private so that other nodes in the blockchain network cannot discern the transaction details, the nodes can encrypt the transaction data. Examples of cryptographic methods include, without limitation, symmetric cryptography and asymmetric cryptography. Symmetric encryption refers to an encryption process that uses a single key for encryption (generation of ciphertext from the ciphertext) and decryption (generation of ciphertext from the ciphertext). In symmetric encryption, the same key is available to multiple nodes, therefore, each node can encrypt transaction data. [053] [053] Asymmetric cryptography uses key pairs that each include a private key and a public key, the private key being known only to a respective node and the public key being known to any or all other nodes in the network blockchain. One node can use another node's public key to encrypt data, and encrypted data can be decrypted using another node's private key. For example, and again referring to Figure 2, Participant A can use Participant B's public key to encrypt the data and send the encrypted data to Participant B. Participant B can use its private key to decrypt the encrypted data ( ciphertext) and extract the original data (original text). Messages encrypted with a node's public key can only be decrypted using the node's private key. [054] [054] Asymmetric cryptography is used to provide digital signatures, which allows participants in a transaction to confirm other participants in the transaction, as well as the validity of the transaction. [055] [055] Figure 3 illustrates an example of an environment (300) to enable smart contract whitelists, according to implementations of this specification. As shown, a smart contract (302) is stored in the blockchain (216) of the blockchain network (212) of Figure 2. The smart contract (302) includes instructions (304) and a whitelist (306). The whitelist (306) includes one or more accounts (308). [056] [056] As described above, the smart contract (302) is stored in the blockchain (216). Participants in the blockchain network (212) can call the smart contract (302), which can cause nodes (214) of the blockchain network (212) to execute the instructions (304). In some implementations, the blockchain network nodes (214) will check whether an account specified by the caller of the smart contract is included in one or more accounts (308) specified by the whitelist (306). If the account is on the whitelist (306), the nodes (214) will execute the instructions (304). If the account is not on the whitelist (306), the nodes (214) do not execute the instructions (304). [057] [057] In some implementations, the instructions (304) may be software code written in a high-level programming language supported by nodes (214) of the blockchain network (212), such as, for example, Solidity, Serpent, LLL, Viper, Mutan, C, C++, Python, Java, Javascript or other programming languages. Instructions (304) can also be compiled by bytecode generated from the software code associated with the smart contract (302). [058] [058] In some implementations, the whitelist (306) and accounts (308) are stored in the blockchain (216) along with the smart contract (302). In some cases, the whitelist (306) and the accounts (308) are included in the instructions (304) of the smart contract (302). [059] [059] Figure 4A illustrates an example of an execution order (400) for transactions in a blockchain network, according to the implementations of this specification. As shown, the order of execution (400) includes a plurality of transactions ((405), (410), (415, (420)) sequenced according to the order in which they are to be executed by the nodes of a blockchain network. . Transactions (405a), (405b), and (405c) are called for smart contracts. In addition to the so-called smart contract, the execution order (400) includes multiple groups of transactions sharing a common dependency (denoted by cross hatching), such as, for example, affecting the same account or accounts. Smart contract calls (405a) and (405b) are grouped with other transactions based on the content of their respective whitelists, which define the accounts that can run the smart contract and therefore can have their state changed by the contract. intelligent. As described below, each group of transactions can be executed in parallel by the blockchain network nodes, according to the implementations of this specification. [060] [060] Figure 4B illustrates an example of a parallel execution order (450) for transactions in a blockchain network, according to implementations of this specification. As shown, in the parallel execution order (450), transaction groups (455), (460) and (465) have been identified. Nodes in a blockchain network can run groups of transactions in parallel, as shown in Figure 4B and discussed above. In some cases, all transactions in a group share a common dependency and are therefore executed serially according to the original execution order. This ensures that the state of the blockchain network (for example, account balances) will be the same result of executing the transactions according to the parallel execution order (450), as it would be after executing the transactions according to the order of run (400) in Figure 4A. [061] [061] Consider the example where account A has a balance of $0 before executing any of the transactions in Figure 4B, where transaction (410a) represents a payment to account A from account B, in the amount of $400, and transaction (410b) represents a payment from account A to account C of $50. If transactions (410a) and (410b) are executed in series (as originally described in execution order (400)) , account A will first be funded $400 and then debited $50, leaving a balance of $250. However, if transactions (410a) and (410b) are not executed serially then the transaction (410b) is executed before (410a), account A will have a balance of $0 when the payment for transaction 410b is executed. Account A will have an insufficient balance to fund the payment in this scenario, which could lead to transaction (410b) being rejected by the blockchain network. [062] [062] Based on this example, consider a case where transaction (420a) represents a payment from account D to account E of $100. Since the accounts affected by transaction (420a) (accounts D and E) do not include any of the accounts affected by transactions (410a) and (410b) (accounts A, B and C), transaction (420a) has no common dependencies with transactions (410a) and (410b). Therefore, transaction (420a) can be executed in parallel with transactions (410a) and (410b). [063] [063] Smart contract calls (eg (405a-c) are different from other types of transactions in that the accounts that the execution of a smart contract will affect may not be determinable based on the smart contract itself Since a smart contract is an executable software program that can be called by any participant on the blockchain network, this could theoretically affect any account on the blockchain network. accounts that a particular smart contract can affect can be determined. Since only accounts on the whitelist can cause the smart contract to run, only those accounts have the potential to change its state (eg, balance) upon execution The whitelist therefore enables smart contract calls to be grouped together for parallel execution in the d network. and blockchain together with other transactions that affect the same accounts. [064] [064] In some implementations, transactions to be executed serially may be grouped. For example, as shown in Figure 4B, transactions (410a-b) and smart contract ticket (405b) are grouped into (455), transactions (415a-e) are grouped into (460) and transactions (420a) -c) and the so-called smart contract (405a) are grouped in (465). Each of the groups (455), (460) and (465) can be executed in parallel by the nodes of the blockchain network. Running transaction groups (455), (460), and (465) in parallel can lead to an increase in transaction throughput on the blockchain network, since the network is running three transactions in parallel instead of just one if all. transactions were executed serially. [065] [065] In some implementations, if a smart contract does not include any whitelist, any account on the blockchain network can execute the smart contract. Smart contract ticket (405c) is a smart contract ticket that does not specify a whitelist. [066] [066] Figure 5 illustrates an example of a process (500) that can be executed, according to the implementations of this specification. In some implementations, process 400 may be performed using one or more computer executable programs executed using one or more computing devices. [067] [067] In (502), a plurality of transactions to be executed on the blockchain is identified. Transactions are ordered in an execution order and can include one or more smart contract tickets for smart contracts, each of which has a whitelist identifying one or more accounts that are authorized to execute the smart contract. The order of execution includes a smart contract call for a smart contract that does not have an ordered whitelist after the plurality of transactions. In some cases, identifying the plurality of transactions to be executed on the blockchain includes receiving transactions transmitted to the blockchain network. In some implementations, the whitelist of each smart contract is included in a set of executable instructions associated with each smart contract. The whitelist can be separated from a set of executable statements associated with each smart contract. The whitelist can include an identification of one or more accounts that are authorized to access each smart contract. In some cases, the whitelist includes a reference to a location external to each smart contract that stores one or more accounts that are authorized to access each smart contract. [068] [068] In (504), transaction groups are identified within the plurality of transactions, in which the transactions in each group are associated with a certain set of accounts in the blockchain network, and in which the special set of accounts associated with each one or more smart contract tickets are determined based on the whitelist associated with the smart contract ticket. [069] [069] In (506), the blockchain network nodes are instructed to execute each of the transaction groups in parallel, where the execution of each transaction group includes the execution of the transactions within the group in series and according to the order of execution. In some cases, instructing blockchain network nodes to execute each of the groups of transactions in parallel includes instructing a first set of nodes to execute a first group of transactions and instructing a first set of nodes to execute a second transaction group. In some cases, instructing blockchain network nodes to execute each of the transaction groups in parallel includes sending a message to nodes across a network. [070] [070] In (508), a determination is made that the nodes of the blockchain network have completed the execution of all transaction groups. In some cases, determining that blockchain network nodes have completed executing all transaction groups includes determining that all transactions in the plurality of transactions are included in one or more blocks stored in a blockchain maintained by the blockchain network. [071] [071] At (510), in response to the determination that the blockchain network nodes have completed executing all transaction groups, the blockchain network nodes are instructed to execute the smart contract call that does not include a whitelist . [072] [072] Figure 6 illustrates the examples of modules of a device (600) according to the implementations of this specification. The device (500) can be an example of an implementation of a device configured to enable parallel execution of transactions in a blockchain network, such as a consortium blockchain network. The apparatus (600) may correspond to the implementations described above, and the apparatus (600) includes the following: a first identifier or first identification unit (602) identifying a plurality of transactions to be executed on the blockchain, in which transactions are ordered in an execution order, where transactions include one or more smart contract tickets for the smart contracts, each has a whitelist identifying one or more accounts that are authorized to execute the smart contract and where the execution order includes a smart contract call for a smart contract that does not have an ordered whitelist after the plurality of transactions; a second identifier or second identification unit (604) for identifying the transaction groups within the plurality of transactions, wherein the transactions in each group are associated with a special set of accounts on the blockchain network, and wherein the special set of accounts associated with each of the one or more smart contract tickets are determined based on the whitelist associated with the smart contract ticket; a first instructor or first instruction unit (606) for instructing blockchain network nodes to execute each of the transaction groups in parallel, wherein the execution of each transaction group includes executing the transactions within the group in series and according to the order of execution; a determinant or determination unit (608) for determining that the nodes of the blockchain network have completed executing all transaction groups; and a second instructor or second instruction unit (610) for instructing blockchain network nodes to execute the smart contract call that does not include a whitelist in response, determining that blockchain network nodes have completed executing all the transaction groups. [073] [073] The system, device, module or unit illustrated in the previous implementations can be implemented using a computer chip or an entity, or it can be implemented using a product that has a determined function. A typical deployment device is a computer, and the computer can be a personal computer, a laptop, a cell phone, a camera phone, a smartphone, a personal digital assistant, a media player, a navigation device, a e-mail that receives and sends the device, a game console, a tablet computer, a wearable device, or a combination of any of these devices. [074] [074] For a process of implementation of functions and functions of each unit in the apparatus, references can be carried out to a process of implementation of corresponding steps in the previous method. Details are omitted in the present for simplicity. [075] [075] Since an apparatus implementation basically corresponds to a method implementation, for the related parties, references can be made to the related descriptions in the method implementation. The device implementation described above is merely an example. Units described as separate parts may or may not be physically separate, and parts shown as units may or may not be physical units, may be located in one position, or may be distributed over a series of network units. Some or all modules can be selected based on actual demands to achieve the specification solution objectives. An ordinary person skilled in the art can understand and implement the implementations of the present application without creative efforts. [076] [076] Again with reference to Figure 6, it can be interpreted as illustrating an internal functional module and a structure of a device to enable the parallel execution of transactions in a blockchain network. The parallel execution device can be an example of a device configured to enable parallel execution of transactions in a blockchain network. [077] [077] The subject matter implementations and the actions and operations described in this specification may be implemented in digital electronic circuits, in computer software or firmware tangibly embodied, in computer hardware, including the structures described in this specification and their structural equivalents, or in combinations of one or more of them. Implementations of the subject matter described in this specification may be implemented as one or more computer programs, for example one or more computer program instruction modules, encoded in a computer program carrier, for executing or controlling the operation of apparatus. of data processing. The conveyor can be a tangible non-transient computer storage medium. Alternatively, or additionally, the carrier may be an artificially generated propagated signal, for example, an electrical, optical or electromagnetic signal generated by the machine that is generated to encode information for transmission to a receiving apparatus suitable for execution by a data processing apparatus. The computer storage medium can be or be part of a machine readable storage device, a machine readable storage substrate, a serial or random access memory device, or a combination of one or more of them. A computer storage medium is not a propagated signal. [078] [078] The term "data processing apparatus" encompasses all types of apparatus, devices and machines for processing data, including, for example, a programmable processor, a computer, or multiple processors or computers. The data processing apparatus may include special purpose logic circuits, for example, an FPGA (Field Programmable Gate Array), an ASIC (application specific integrated circuit) or a GPU (graphics processing unit). The equipment can also include, in addition to the hardware, the code that creates an execution environment for the computer programs, for example, the code that constitutes the processor firmware, a protocol stack, a database management system, an operating system or a combination of one or more of them. [079] [079] A computer program, which may also be referred to or described as a program, software, a software application, an application, a module, a software module, an engine, a script or code, can be written in any form of programming language, including compiled or interpreted languages, declarative or procedural languages, and may be implemented in any manner, including such as a standalone program or as a module, component, mechanism, subroutine or other unit suitable for the running in a computing environment, which environment can include one or more computers interconnected by a data communication. network in one or more locations. [080] [080] A computer program can, but need not, correspond to a file on a file system. A computer program can be stored in a part of a file that contains other programs or data, for example, one or more scripts stored in a markup language document, in a single file dedicated to the program in question, or in multiple files coordinates, for example, files that store one or more modules, subprograms, or pieces of code. [081] [081] The processes and logical flows described in this specification can be performed by one or more computers that execute one or more computer programs to perform operations operating in relation to the input data and generating the output. Logic processes and flows can also be performed by special-purpose logic circuits, for example, an FPGA, an ASIC, or a GPU, or by a combination of special-purpose logic circuits and one or more programmed computers. [082] [082] Computers suitable for executing a computer program can be based on general or special purpose microprocessors or on both or any other type of central processing unit. In general, a central processing unit will receive instructions and data from a read-only memory or a random access memory, or both. Elements of a computer can include a central processing unit for executing instructions and one or more memory devices for storing instructions and data. [083] [083] In general, a computer will be coupled to at least one non-transient computer readable storage medium (also referred to as computer readable memory). The storage medium attached to the computer can be an internal component of the computer (for example, an integrated hard disk) or an external component (for example, the universal serial bus (USB) hard disk or a storage system accessed through a network). Examples of storage media may include, for example, magnetic, magneto-optical or optical disks, solid state drives, network storage resources such as cloud storage systems or other types of storage media. However, a computer does not need to have these devices. In addition, a computer can be embedded in another device, for example, a cell phone, a personal digital assistant (PDA), an audio or video player, a game console, a GPS receiver or a portable storage device, for example. example, a universal serial bus (USB) flash drive, to name just a few. [084] [084] To provide interaction with a user, implementations of the subject described in this specification can be implemented in, or configured to communicate with, a computer that has a display device, for example, an LCD (liquid crystal display) monitor , to display information to the user and an input device through which the user can provide input to the computer, for example, a keyboard and a pointing device, for example, a mouse, trackball, or touchpad. Other types of devices can also be used to provide interaction with a user; for example, the feedback provided to the user can be any form of sensory feedback, eg visual feedback, auditory feedback or tactile feedback; and user input can be received in any form, including acoustic, speech, or tactile input. In addition, a computer can interact with a user by sending documents and receiving documents from a device used by the user; for example, sending web pages to a web browser on a user's device in response to requests received from the web browser, or interacting with an application running on a user's device, for example, a smartphone or electronic tablet. In addition, a computer can interact with a user by sending text messages or other forms of messaging to a personal device, for example, a smartphone running a messaging app and receiving the user's responsive messages in return. [085] [085] This specification uses the term “configured for” in connection with computer program systems, apparatus, and components. [086] [086] Although this specification contains many implementation-specific details, these should not be interpreted as limitations on the scope of any invention or on the scope of what can be claimed, but as descriptions of features that may be specific to specific implementations of certain inventions. . Certain features described in the present invention in the context of separate implementations can also be implemented, in combination, in a single implementation. On the other hand, several features described in the context of a single implementation can also be implemented in several implementations, separately or in any suitable subcombination. [087] [087] Similarly, although operations are depicted in the drawings or claims in a special specific order, this is not to be understood as requiring that such operations be performed in the special order shown or in sequential order, or that all illustrated operations be performed, to achieve the desired results. In certain circumstances, multitasking or parallel processing can be beneficial. Furthermore, the separation or integration of various system modules and components in the implementations described above should not be understood as requiring such separation or integration in all implementations, and it should be understood that the described program components and systems, in general, can be bundled together into a single software product or bundled into multiple software products. [088] [088] Subject-specific implementations have been described. Other implementations are within the scope of the following claims. For example, the actions cited in the claims can be performed in a different order and still achieve the desired results. As an example, the processes depicted in the attached figures do not necessarily require the special order shown, or sequential order, to achieve the desired results. In some cases, multitasking or parallel processing can be beneficial.
权利要求:
Claims (20) [1] 1. COMPUTER IMPLEMENTED METHOD for the parallel execution of transactions in a blockchain network, the method characterized by comprising: - the identification of a plurality of transactions to be executed in the blockchain, in which the transactions are ordered in an execution order, in that transactions include one or more smart contract tickets for smart contracts, each has a whitelist that identifies one or more accounts authorized to perform the smart contract, and that the execution order includes a smart contract ticket for a smart contract that does not have an ordered whitelist after the plurality of transactions; - the identification of transaction groups within the plurality of transactions, where the transactions in each group are associated with a special set of accounts on the blockchain network and where the special set of accounts associated with each one or more smart contract calls is determined based on the whitelist associated with the smart contract ticket; - the instruction of the blockchain network nodes to execute each of the transaction groups in parallel, where the execution of each transaction group includes the execution of the transactions within the group in series and according to the execution order; - the determination that the blockchain network nodes have completed the execution of all transaction groups; and - in response, determining that the blockchain network nodes have completed executing all transaction groups, instructing the blockchain network nodes to execute the smart contract call that does not include a whitelist. [2] 2. METHOD according to claim 1, characterized in that the blockchain network nodes' instruction to execute each of the transaction groups in parallel includes the instruction of a first set of nodes to execute a first transaction group and the instruction of a first set of nodes to perform a second group of transactions. [3] 3. METHOD according to claim 1, characterized by determining that the blockchain network nodes have completed the execution of all transaction groups includes determining that all transactions in the plurality of transactions were included in one or more blocks stored in a blockchain maintained by the blockchain network. [4] 4. METHOD, according to claim 1, characterized by the instruction of the blockchain network nodes to execute each of the transaction groups in parallel, includes sending a message to the nodes through a network. [5] 5. METHOD, according to claim 1, characterized by the identification of the plurality of transactions to be executed in the blockchain includes receiving the transactions transmitted to the blockchain network. [6] 6. METHOD, according to claim 1, characterized in that the authorization list is included in a set of executable instructions associated with each smart contract. [7] 7. METHOD, according to claim 1, characterized in that the permissions list is separated from a set of executable instructions associated with each smart contract. [8] 8. METHOD, according to claim 1, characterized in that the whitelist includes an identification of one or more accounts that are authorized to access each smart contract. [9] 9. METHOD, according to claim 1, characterized in that the whitelist includes a reference to a location external to each smart contract that stores one or more accounts that are authorized to access each smart contract. [10] 10. COMPUTER-READABLE, NON- TRANSIENT STORAGE MEANS, coupled to one or more computers and which has stored in it the instructions that are executable by one or more computers characterized by: - the identification of a plurality of transactions to be executed in the blockchain, in that transactions are ordered in an execution order, where transactions include one or more smart contract calls for smart contracts, each has a whitelist identifying one or more accounts that are authorized to execute the smart contract, and wherein the order of execution includes a smart contract call for a smart contract that does not have an ordered whitelist after the plurality of transactions; - the identification of transaction groups within the plurality of transactions, where the transactions in each group are associated with a special set of accounts on the blockchain network, and where the special set of accounts associated with each one or more is called an intelligent contract is determined based on the whitelist associated with the smart contract call; - the instruction of the blockchain network nodes to execute each of the transaction groups in parallel, where the execution of each transaction group includes the execution of the transactions within the group in series and according to the execution order; - the determination that the blockchain network nodes have completed the execution of all transaction groups; and - in response, determining that the blockchain network nodes have completed executing all transaction groups, instructing the blockchain network nodes to execute the smart contract call that does not include a whitelist. [11] 11. NON TRANSIENT COMPUTER-READABLE STORAGE MEDIA according to claim 10, characterized in that the blockchain network node's instruction to execute each of the transaction groups in parallel includes the instruction of a first set of nodes to execute a first group of transactions and instructing a first set of nodes to execute a second group of transactions. [12] 12. NON TRANSIENT COMPUTER-READABLE STORAGE MEDIA according to claim 10, characterized by the determination that the blockchain network nodes have completed the execution of all transaction groups includes the determination that all transactions in the plurality of transactions have been included in one or more blocks stored in a blockchain maintained by the blockchain network. [13] 13. NON TRANSIENT COMPUTER-READABLE STORAGE MEDIA, according to claim 10, characterized in that the blockchain network nodes' instruction to execute each of the transaction groups in parallel includes sending a message to the nodes through a network. [14] 14. NON TRANSIENT COMPUTER-READABLE STORAGE MEANS, according to claim 10, characterized by the identification of the plurality of transactions to be executed in the blockchain includes receiving the transactions transmitted to the blockchain network. [15] 15. NON TRANSIENT COMPUTER-READABLE STORAGE MEDIA, according to claim 10, characterized in that the permission list is included in a set of executable instructions associated with each smart contract. [16] 16. COMPUTER-READY STORAGE MEANS NON TRANSIENT, according to claim 10, characterized in that the list of permissions is separated from a set of executable instructions associated with each smart contract. [17] 17. NON TRANSIENT COMPUTER-READABLE STORAGE MEDIA, according to claim 10, characterized in that the list of permissions includes an identification of one or more accounts that are authorized to access each smart contract. [18] 18. NON TRANSIENT COMPUTER-READABLE STORAGE MEDIA, according to claim 10, characterized in that the whitelist includes a reference to a location external to each smart contract that stores one or more accounts that are authorized to access each smart contract. [19] 19. SYSTEM characterized by comprising: - one or more computers; and - one or more computer-readable memories coupled to one or more computers and which have stored in it instructions that are executable by one or more computers for: - the identification of a plurality of transactions to be executed on the blockchain, in which the transactions are ordered in an execution order, where transactions include one or more smart contract tickets for smart contracts, each has a whitelist identifying one or more accounts that are authorized to execute the smart contract, and where the execution order includes a smart contract call for a smart contract that does not have an ordered whitelist after the plurality of transactions; - the identification of transaction groups within the plurality of transactions, where the transactions in each group are associated with a special set of accounts on the blockchain network, and where the special set of accounts associated with each one or more is called an intelligent contract is determined based on the whitelist associated with the smart contract call; - the instruction of the blockchain network nodes to execute each of the transaction groups in parallel, where the execution of each transaction group includes the execution of the transactions within the group in series and according to the execution order; - the determination that the blockchain network nodes have completed the execution of all transaction groups; and - in response, determining that the blockchain network nodes have completed executing all transaction groups, instructing the blockchain network nodes to execute the smart contract call that does not include a whitelist. [20] 20. SYSTEM according to claim 19, characterized in that the blockchain network nodes' instruction to execute each of the transaction groups in parallel includes the instruction of a first set of nodes to execute a first transaction group and the instruction of a first set of nodes to perform a second group of transactions.
类似技术:
公开号 | 公开日 | 专利标题 BR112019016290A2|2021-07-20|computer implemented method, computer readable non-transient storage medium and system BR112019016064A2|2020-03-31|COMPUTER IMPLEMENTED METHOD, LEGIBLE STORAGE MEDIA AND SYSTEM BR112019014847A2|2020-04-14|computer-implemented method, non-transitory computer-readable storage medium and system to provide smart contract service JP2020511809A|2020-04-16|Validating the integrity of data stored on the consortium blockchain using the public sidechain BR112019016188A2|2020-04-14|computer-implemented method for controlling access to smart contracts, non-transitory computer-readable storage medium and system US11088875B2|2021-08-10|Asynchronous processing of blockchain blocks CN111295650A|2020-06-16|Performing mapping iterations in a blockchain based system CN111066019A|2020-04-24|Processing data elements stored in a blockchain network JP7012730B2|2022-01-28|Parallel execution of transactions in a blockchain network based on a smart contract whitelist
同族专利:
公开号 | 公开日 PL3566391T3|2021-10-18| SG11201907243UA|2019-09-27| US20210160245A1|2021-05-27| AU2018347205C1|2021-08-12| JP2020518880A|2020-06-25| PH12019501847A1|2020-03-09| RU2731417C1|2020-09-02| CN110300985A|2019-10-01| EP3566391A2|2019-11-13| WO2019072305A3|2019-10-24| ES2879907T3|2021-11-23| MX2019009344A|2019-10-02| AU2018347205B2|2021-02-25| KR20200083938A|2020-07-09| EP3566391B1|2021-04-21| KR102294223B1|2021-08-30| CA3052884A1|2019-04-18| ZA201905218B|2020-05-27| WO2019072305A2|2019-04-18| US10911461B2|2021-02-02| EP3566391A4|2020-03-18| US20190281065A1|2019-09-12| AU2018347205A1|2020-07-16|
引用文献:
公开号 | 申请日 | 公开日 | 申请人 | 专利标题 US7401235B2|2002-05-10|2008-07-15|Microsoft Corporation|Persistent authorization context based on external authentication| US10489807B1|2013-11-11|2019-11-26|Amazon Technologles, Inc.|Non-deterministic load-testing| EP3362970A4|2015-10-17|2019-06-26|Banqu, Inc.|Blockchain-based identity and transaction platform| US20170132630A1|2015-11-11|2017-05-11|Bank Of America Corporation|Block chain alias for person-to-person payments| EP3193299A1|2016-01-15|2017-07-19|Accenture Global Services Limited|Device, method and system for autonomous selection of a commodity supplier through a blockchain distributed database| US10255108B2|2016-01-26|2019-04-09|International Business Machines Corporation|Parallel execution of blockchain transactions| US10720232B2|2016-04-13|2020-07-21|Accenture Global Solutions Limited|Distributed healthcare records management| US10046228B2|2016-05-02|2018-08-14|Bao Tran|Smart device| AU2017290839A1|2016-07-01|2019-01-17|Wells Fargo Bank, N.A.|International trade finance blockchain system| US10425399B2|2016-07-12|2019-09-24|International Business Machines Corporation|Template-based distributed certificate issuance in a multi-tenant environment| US10417217B2|2016-08-05|2019-09-17|Chicago Mercantile Exchange Inc.|Systems and methods for blockchain rule synchronization| CN109863516A|2016-08-08|2019-06-07|邓白氏公司|It is applied for the trusted platform of network B OP component and integrated BOP| US20180158034A1|2016-12-07|2018-06-07|International Business Machines Corporation|Dynamic reordering of blockchain transactions to optimize performance and scalability| US11200966B2|2016-12-27|2021-12-14|Cerner Innovation, Inc.|Healthcare system based on devices and wearables| CN108269072A|2016-12-30|2018-07-10|深圳瀚德创客金融投资有限公司|For the transaction processing method and network node of block chain| WO2018126059A1|2016-12-30|2018-07-05|Slock.it, Inc.|Block-chain enabled service provider system| CN106980649B|2017-02-28|2020-07-10|创新先进技术有限公司|Method and device for writing block chain service data and service subset determining method| CN106878000B|2017-03-06|2020-02-21|中钞信用卡产业发展有限公司杭州区块链技术研究院|Alliance chain consensus method and system| CN106934710A|2017-03-06|2017-07-07|钱德君|A kind of quantum contract account book based on intelligent treaty content| US10489597B2|2017-03-28|2019-11-26|General Electric Company|Blockchain verification of network security service| GB201707296D0|2017-05-08|2017-06-21|Nchain Holdings Ltd|Computer-implemented system and method| SG11201912577QA|2017-06-22|2020-01-30|Jpmorgan Chase Bank Na|System and method for implementing an interbank information network| US10679210B2|2017-06-26|2020-06-09|International Business Machines Corporation|Blockchain transaction commitment ordering| US10616324B1|2017-07-20|2020-04-07|Architecture Technology Corporation|Decentralized ledger system and method for enterprises| US11196552B2|2017-08-04|2021-12-07|Truss Financial, LLC|Secure data distribution protocol using blockchains| CN107688999B|2017-08-11|2020-11-13|杭州溪塔科技有限公司|Block chain-based parallel transaction execution method| US11132451B2|2017-08-31|2021-09-28|Parity Technologies Ltd.|Secret data access control systems and methods| US20190087793A1|2017-08-31|2019-03-21|Brown University|Adding concurrency to smart contracts| RU2673399C1|2017-09-07|2018-11-26|Олег Александрович Серебренников|Method of preserving savings purchasing ability| CN107678865A|2017-09-20|2018-02-09|中国银行股份有限公司|The verification method and system of block chain based on transaction packet| CN111164629A|2017-09-27|2020-05-15|赛可润思公司|Methods, apparatus, and computer-readable media for compliance-aware tokenization and control of asset value| US11100483B2|2017-09-29|2021-08-24|Intel Corporation|Hierarchical data information| CN107704269A|2017-10-16|2018-02-16|中国银行股份有限公司|A kind of method and system based on block chain generation block| CN111787072A|2018-04-03|2020-10-16|阿里巴巴集团控股有限公司|Cross-block-chain interaction method, device, system and electronic equipment| RU181439U1|2018-04-06|2018-07-13|Оксана Валерьевна Кириченко|Decentralized technology platform for storing and exchanging transaction data in a distributed computing network| CN108681565B|2018-04-28|2020-11-10|百度在线网络技术(北京)有限公司|Block chain data parallel processing method, device, equipment and storage medium| CN108846659B|2018-06-13|2021-09-14|深圳前海微众银行股份有限公司|Block chain-based transfer method and device and storage medium| CN109064171A|2018-07-26|2018-12-21|杭州秘猿科技有限公司|A kind of method, apparatus and electronic system of block chain parallel transaction| CA3052348A1|2018-12-28|2019-04-18|Alibaba Group Holding Limited|Parallel execution of transactions in a blockchain network|US11243810B2|2018-06-06|2022-02-08|The Bank Of New York Mellon|Methods and systems for improving hardware resiliency during serial processing tasks in distributed computer networks| US11263315B2|2018-12-03|2022-03-01|Ebay Inc.|System level function based access control for smart contract execution on a blockchain| CA3052348A1|2018-12-28|2019-04-18|Alibaba Group Holding Limited|Parallel execution of transactions in a blockchain network| KR102289612B1|2019-04-12|2021-08-18|어드밴스드 뉴 테크놀로지스 씨오., 엘티디.|Parallel execution of transactions in a distributed ledger system| CN111095325A|2019-04-12|2020-05-01|阿里巴巴集团控股有限公司|Parallel execution of transactions in a distributed ledger system| KR102304954B1|2019-08-30|2021-09-27|주식회사 미디움|Peer node, method for processing information executed on peer node and blockchain platform system| US10783082B2|2019-08-30|2020-09-22|Alibaba Group Holding Limited|Deploying a smart contract| CN110691122A|2019-09-23|2020-01-14|杭州复杂美科技有限公司|Parallel chain consensus method, device and storage medium| KR102342788B1|2019-11-19|2021-12-24|한양대학교 산학협력단|Method for supporting parallel execution of transaction, blockcahin node device and program using the same| CN110968437A|2019-11-27|2020-04-07|杭州趣链科技有限公司|Method, device, equipment and medium for parallel execution of single contract based on Java intelligent contract| CN111325928B|2020-04-01|2021-12-21|中国银行股份有限公司|Business execution method and device of bank self-service equipment| CN111754349B|2020-08-28|2020-12-04|支付宝信息技术有限公司|Method and device for grouping transactions in blockchain| KR102286473B1|2020-10-14|2021-08-06|헥슬란트|Virtual asset verification module, virtual asset transaction system including the same, and method thereof| CN113869902A|2021-12-03|2021-12-31|深圳前海微众银行股份有限公司|Block chain transaction execution method and device|
法律状态:
2021-08-03| B25B| Requested transfer of rights rejected|Owner name: ADVANCED NEW TECHNOLOGIES CO., LTD. (KY) Free format text: INDEFERIDO O PEDIDO DE TRANSFERENCIA CONTIDO NA PETICAO 870200160142 DE 22/12/2020, EM VIRTUDE DO PEDIDO JA ESTAR EM NOME DO INTERESSADO. | 2021-08-17| B25B| Requested transfer of rights rejected|Owner name: ADVANCED NEW TECHNOLOGIES CO., LTD. (KY) Free format text: INDEFERIDO O PEDIDO DE TRANSFERENCIA CONTIDO NA PETICAO 870200160565 DE 23/12/2020, EM VIRTUDE DO PEDIDO JA ESTAR EM NOME DO INTERESSADO. |
优先权:
[返回顶部]
申请号 | 申请日 | 专利标题 PCT/CN2018/124873|WO2019072305A2|2018-12-28|2018-12-28|Parallel execution of transactions in a blockchain network based on smart contract whitelists| 相关专利
Sulfonates, polymers, resist compositions and patterning process
Washing machine
Washing machine
Device for fixture finishing and tension adjusting of membrane
Structure for Equipping Band in a Plane Cathode Ray Tube
Process for preparation of 7 alpha-carboxyl 9, 11-epoxy steroids and intermediates useful therein an
国家/地区
|